home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / cfr_a84.zip / MANUAL.ENG < prev    next >
Text File  |  1996-08-28  |  15KB  |  337 lines

  1. ┌─────────────────────────────────────────────────────────────────────┐
  2. │ CFRoute 0.84 alpha - Netmail packer for DOS and OS/2                │
  3. │ Carlos Fernández Sanz, 2:341/70@fidonet.org, 93:341/110@subred.org  │
  4. │ Freeware                                                            │
  5. └─────────────────────────────────────────────────────────────────────┘
  6.  
  7. First: I'm not a native English speaker, and for this version I won't
  8. bother to check the documentation very carefully. You'll have to stand
  9. my mistakes.
  10.  
  11. This version is still an alpha. I assume everyone using it knows how
  12. to handle this kind of things, so I won't extend myself.
  13.  
  14. In short, CFRoute is a netmail packer for Binkley-style mailers, such
  15. as Xenia or MainDoor 1.10. Binkley's method is a lot faster than
  16. the dynamic system used by FrontDoor and Maindoor, and allows
  17. the inspection of the netmail already packed, with InspectA or YABOM,
  18. without having to unpack a mail file and search the .PKTs for the
  19. netmail.
  20. Most tossers allow Binkley packing. For example, FastEcho uses pack -p.
  21. Unfortunately, it isn't very well implemented yet.
  22.  
  23. General features
  24. ----------------
  25.     - Route-to systems can be defined based upon message destination
  26.       and origin.
  27.     - Allows specification of different route-to systems for encrypted
  28.       and non-encrypted mail.
  29.     - Allows different flavors for packets, based upon everything -
  30.       not only the route-to system.
  31.     - Very flexible configuration file parser.
  32.     - Only limited by free memory. No hardcoded limits for number
  33.       for AKAs, number of route-to systems, etc.
  34.     - Allows specification of different route-to systems for file
  35.       attaches.
  36.     - Writes type 2 and 2+ packets.
  37.     - Allows specification of routes based upon the day of the week.
  38.     - Wildcards ?, # and *.
  39.     - Powerful defines.
  40.     - Freeware.
  41.     - Source code (C++) will be available when it is finished.
  42.  
  43. Calling CFROUTE
  44. ---------------
  45. CFRoute accepts very few parameters. Parameters not starting with /
  46. or - are considered to be configuration file names. Usually only
  47. one is used (for example mine is ROUTE.CFR) and if more are to
  48. be used they are called from the main one, but you can read more
  49. than one file from the command line, for example CFROUTE 1.CFR 2.CFR
  50. will work fine.
  51. As of now only two other parameters will be accepted.
  52.        -?  to get a brief help
  53.        -I  to ignore the messages filestamp. By default, when
  54.            CFRoute is run, it saves the date & time so in the next
  55.            runs it can skip the messages that have an older date
  56.            (ie they haven't been created or modified since CFRoute
  57.            run last time). This usually works just fine, and saves
  58.            a lot of time. However NetMgr (this is the only one I
  59.            have found so far) doesn't set properly the file date.
  60.            For example, forwarded message have the file date of
  61.            the forwarded message, instead of the date when the
  62.            forwarded message is created. This may be correct (more
  63.            or less) for the date on the message header, but it
  64.            is wrong for the file date. Thus, if you are using
  65.            NetMgr you'd better use this parameter.
  66.         -D If used, CFR will write to screen a complete dump of
  67.            the configuration file as it has been read. If you
  68.            think CFR is doing something wrong, use -D to make
  69.            sure it has understood you.
  70.  
  71. Configuration files
  72. -------------------
  73. Important rule: Whatever is not a command, is considered to be
  74. a parameter for the previous command. Carriage returns do not
  75. finish a sequence of parameters. You can place all the configuration
  76. file on a single line, or use a line for every word, etc. You can
  77. use as much spaces and tabs and you wish, anywhere.
  78. Comments are started with semicolon ;. When a ; is found, the rest
  79. of the line is ignored. There is an exception to this. If a line
  80. starts with ;CFR, the line is processed. Why? Because this allows
  81. sharing the configuration file between two programs. For example,
  82. say you want to use the same file for both CFRoute and FastEcho,
  83. while you test CFRoute. CFRoute has many commands that would cause
  84. FE to complain. Simply precede that commands with ;CFR and FE
  85. will ignore the lines because it will take them as comments.
  86. Valid commands are:
  87.  
  88. - LOG log_filename.
  89.   Log is very extensive. It saves the complete message header,
  90.   the route-to system (of course), the message age, the body
  91.   size, etc.
  92. - NETMAIL netmail_directory.
  93.   Required.
  94. - OUTBOUND main_outbound_directory.
  95.   Make sure it is the same as the mailer's. Required.
  96. - MAIN address.
  97.   Your main address. Must be a full qualified 5D address. It is
  98.   used whenever a more appropiate address can't be found, and
  99.   to complete non-5D addresses in a few places. Domain is only
  100.   used to determine the pathnames in the binkley directory
  101.   structure.
  102.   Example: 2:341/70@fidonet.
  103. - AKA address [address...]
  104.   Additional system addresses. Don't have to be 5D (but it
  105.   would be a good idea...). Example: AKA 62 79 add
  106.   2:341/62@fidonet and 2:341/79@fidonet to the address list,
  107.   provided 2:341/70@fidonet is given as main address.
  108. - PACKET2 addresses
  109.   List of systems that doesn't support 2+ packets and thus
  110.   must be sent stoneage type packets.
  111. - PASSWORD password address [address...]
  112.   (Xenia style). Example:
  113.       PASSWORD EXAMPLE 2:348/201 2:348/202 2:34/0
  114.   Wilcards are accepted.
  115. - INCLUDE filename
  116.   Reads a file as part of the configuration. Include's can be
  117.   nested, i.e. you can call a new file from a file already being
  118.   included.
  119. - CHECKFILE filename
  120.   If the file exists, CFR terminates inmediately. Main use is
  121.   to avoid running CFR and a tosser at the same time. Example:
  122.   CHECKFILE H:\FESEM\FEBUSY.* is used here to end CFR if
  123.   FastEcho is running.
  124.   You can specify as many filenames as you wish (CFR will terminate
  125.   if any of them exists) and you can use wildcards.
  126. - ASSUMEPOINTS and ASSUMEWAYPOINTS. See routing.
  127. - EOLENDSCOMMAND (EOL for END-OF-LINE). If used, a command is
  128.   ended when its line ends. I don't like it at all but has been
  129.   requested by a few.
  130. - TOPDOWN. Gives precedence to the FIRST line matching the
  131.   netmail conditions (as Squish).
  132. - DEFINE macro_name anything ENDDEFINE
  133.   Defines a macro, which can then be used anywhere. Example:
  134.   DEFINE GEORGE_PEACE 1:270/101 ENDDEFINE
  135.   DEFINE NORTH_AMERICA 1:* ENDDEFINE
  136.   DEFINE REST_FIDO 2:* 3:* 4:* 5:* 6:* ENDDEFINE
  137.   ROUTE-TO GEORGE_PEACE NORTH_AMERICA
  138.   Even...
  139.   DEFINE ROUTE_AMERICA ROUTE-TO GEORGE_PEACE NORTH_AMERICA ENDDEFINE
  140.   and them
  141.   ROUTE_AMERICA to do the actual work.
  142.  
  143. Address completion
  144. ------------------
  145.   When you are writing your routing, keep in mind the following:
  146.  
  147.     - AKAs are always completed with the previous AKAs.
  148.     - Addresses in route-to are completed with the previous
  149.       address in the same route-to command (as you will see,
  150.       the waypoint must be 4D).
  151.     - Incomplete addresses in passwords are completed with the
  152.       last address in a password sentence.
  153.     - Imcomplete addresses in packet2 specs are completed with
  154.       the last address in a packet2 sentence.
  155.  
  156.     Example (don't mind about the meaning of the commands):
  157.  
  158.     MAIN 2:341/70@fidonet
  159.     AKA 62 1000/79
  160.     ROUTE-TO 2:2453/1031 1030 1032 4000/50 70
  161.     PASSWORD 2:344/10 45
  162.  
  163.     becomes
  164.  
  165.     MAIN 2:341/70@fidonet
  166.     AKA 2:341/62@fidonet 2:1000/79@fidonet
  167.     ROUTE-TO 2:2453/1031 2:2453/1030 2:2453/1032 2:4000/50 2:4000/70
  168.     PASSWORD 2:344/10 2:344/45
  169.  
  170. Routing
  171. -------
  172. Will be familiar to FastEcho's users (well I think it will
  173. be familiar to everyone :-)).
  174. Rule: CFRoute won't touch ANY netmail if it doesn't know
  175. where to send it. You can be confident about this.
  176. By default, CFRoute uses the LAST route-to sentence that
  177. matches the conditions for the netmail being processed
  178. (like FastEcho does).
  179. There are three routing commands, each with three flavours.
  180. You can use dashes or not, at you wish.
  181.  
  182.     ROUTE-TO, ROUTE-MAIL, and ROUTE-FILES
  183.     -------------------------------------
  184.     Exactly as FastEcho's route-to. Route-to affects to
  185.     all mails, route-mail only to netmail without a file
  186.     attach, and route-files to netmail with a file attach.
  187.     Parameters:
  188.             - Addresses: First one is the waypoint system,
  189.               i.e. the system the netmail will be packed
  190.               to. This one can't have wildcards and has
  191.               to be 4D (no completion is performed).
  192.               All the following addresses are the target
  193.               addresses that the route-to sentence applies
  194.               to. These addresses can have wildcards, as
  195.               follows:
  196.                    ? -> Zero or one character. 2:34?
  197.                         matches 2:34, 2:341, 2:342...
  198.                    # -> One character. 2:34# matches
  199.                         2:341, 2:342, but doesn't match
  200.                         2:34.
  201.                    * -> Zero or more characters. 2:34*
  202.                         matches 2:34,2:341,2:341...
  203.             - An attribute (NORMAL, CRASH, HOLD or DIR).
  204.               If none is specified, NORMAL is assumed.
  205.             - FROM, to switch from target to origin address.
  206.             - EXCEPT to start a exception list.
  207.             - A day of the week list to specify that the
  208.               current route-to command applies only to those
  209.               days. M=Monday, T=Tuesday, W=Wednesday, H=
  210.               Thrusday, F=Friday, S=Saturday, U=Sunday.
  211.             - ENC and NONENC, to indicate that the current
  212.               command applies only to encrypted or non-
  213.               encrypted mail. Note that this version only
  214.               determines if a mail if encrypted by the
  215.               presence of the ^AENC kludge.
  216.     Examples:
  217.         1.
  218.             - ROUTE-TO 2:348/201 CRASH 2:34/0
  219.             - ROUTE-TO 2:348/201 1:* 2:* 3:* 4:* 5:* 6:*
  220.               Send to Manuel Fuentes the netmail for his
  221.               administrative address (RC) crash. The netmail
  222.               for the rest of FidoNet addresses is packed
  223.               normal.
  224.               Remember that anything before a new command
  225.               is a parameter. So you can put the attribute
  226.               specification anywhere before the next command.
  227.               So these two lines are the same
  228.               ROUTE-TO CRASH 2:348/201 2:34/0 y
  229.               ROUTE-TO 2:348/201 2:34/0 CRASH
  230.  
  231.          2. - ROUTE-TO 2:348/201 CRASH 2:34/0 FROM 2:34*/0
  232.               Send netmail to RC34 *from* the NCs crash.
  233.               Any other mail won't match is route-to and
  234.               will follow the default route, if any.
  235.  
  236.          3. - ROUTE-TO 1:270/101 1:* FROM 2:341/*
  237.               Netmail to zone 1 from net 341 sent to
  238.               George Peace's place. Netmail from other
  239.               nets won't be sent to George.
  240.  
  241.          4. - ROUTE-TO 2:348/201 FROM 1:*
  242.               All netmail *from* zone 1 sent to 2:348/201.
  243.               Doesn't make too much sense in the real world,
  244.               but I bet someone will use this.
  245.  
  246.          5. - ROUTE-TO 2:348/201 2:* EXCEPT 2:34/* EXCEPT 2:348/*
  247.               All netmail to zone 2 except to R34 except to
  248.               net 348 is sent to 2:348/201. Notice that the
  249.               second except applies over the first one and
  250.               not over the 2:*. So all netmail to zone 2
  251.               except Spain + Galicia is sent to 2:348/201.
  252.  
  253.          6. - ROUTE-TO 2:348/201 2:* EXCEPT FROM 2:341/*
  254.               All netmail to zone 2 not written by net 341
  255.               is sent to 2:348/201.
  256.  
  257.          7. - ROUTE-TO 2:2/0 HF 2:29*
  258.               Send netmail to Belgium via ZC/2 (who lives
  259.               in Belgium, in case you haven't guessed it)
  260.               only on Thrusdays and Fridays (to use the
  261.               call to pickup the nodediff).
  262.  
  263.          8. - ROUTE-TO 93:7000/0 NONENC 93:7000/0
  264.               Netmail to Subnet->InterNet gateway is sent
  265.               to the gateway, as long as it is not encrypted.
  266.  
  267.     I hope you get the picture :-) You can use route-mail and
  268.     route-file to select netmail based upon file-attach
  269.     presence.
  270.     Note that message attribs have precedence over the
  271.     routing. A message flagged as crash will be sent crash
  272.     even if a route-to for it exists.
  273.     CFRoute honors ZON (zonegate) and HUB (Hub/host gate)
  274.     flags. Say we get a message from zone 2 to zone 1 with
  275.     the zonegate flag, and
  276.  
  277.         ROUTE-TO 1:270/101 1:*
  278.         ROUTE-TO 2:348/202 2:* 3:* 4:* 5:* 6:* 7:*
  279.  
  280.     a netmail to zone 1 without the flag, would go to
  281.     George Peace. However, a netmail flying the ZON
  282.     flag is considered to be sent to 2:2/1 and thus
  283.     is routed via 2:348/202.
  284.     The hub flag routes the message using the destination
  285.     network host address.
  286.     Two commands may be used to alter the behaviour of
  287.     routing commands.
  288.         - ASSUMEWAYPOINTS is used to assume that the
  289.           waypoint is also affected. example:
  290.             assumewaypoints
  291.             route-to 2:2453/1030 1031
  292.             =
  293.             route-to 2:2453/1030 2:2453/1030 2:2453/1031
  294.         - ASSUMEPOINTS makes CFR assume that if not
  295.           point number is specified, '*' should be used,
  296.           i.e.
  297.             assumepoints
  298.             route-to 2:2453/1030 1031
  299.             =
  300.             route-to 2:2453/1030 2:2453/1031.*
  301.          ************************************************
  302.          * ASSUMEPOINTS and ASSUMEWAYPOINTS only apply  *
  303.          * for commands after them! If you want them to *
  304.          * affect the whole file put them at the        *
  305.          * beginning                                    *
  306.          ************************************************
  307.     DIRECT (o DIRECT-TO), DIRECT-MAIL y DIRECT-FILES
  308.     ------------------------------------------------
  309.     See route-* for syntax. Messages are packed for
  310.     the destination systems.
  311.  
  312.     ROUTE-BOSS, ROUTE-BOSS-MAIL and ROUTE-BOSS-FILES
  313.     ----------------------------------------------
  314.     AKA NO-ROUTE, NO-ROUTE-MAIL and NO-ROUTE-FILES.
  315.     Netmail is packed for the destination NODES, so a
  316.     netmail for 2:341/14.23 is packed direct for
  317.     2:341/14.0 (the boss). Some programs call this
  318.     command no-route, which I think is wrong because
  319.     some routing exists if the netmail is packed to
  320.     a system different that the destination, even
  321.     if it is the boss.
  322.  
  323.     NOPACK, NOPACK-MAIL, NOPACK-FILES
  324.     ---------------------------------
  325.     Netmail specified in a NOPACK* command won't be
  326.     touched by CFRoute and left alone in the netmail
  327.     folder.
  328.  
  329.     Macros
  330.     ------
  331.     MYZONES, MYNETS y MYPOINTS. Expanded to all our
  332.     zones, nets and points. Can be used anywhere
  333.     a wildcarded address is accepted.
  334.     Example: DIRECT MYPOINTS.
  335.  
  336.  
  337.